(window["webpackJsonp"] = window["webpackJsonp"] || []).push([
    ["user"], {
        "0159": function (t, e, a) {}, "08db": function (t, e, a) {
            "use strict";
            var s = a("dd8e"),
                r = a.n(s);
            r.a
        }, 1037: function (t, e, a) {
            "use strict";
            a.r(e);
            var s = function () {
                    var t = this,
                        e = t.$createElement,
                        a = t._self._c || e;
                    return a("result", {
                        attrs: {
                            isSuccess: !0,
                            content: !1,
                            title: t.email,
                            description: t.description
                        }
                    }, [a("template", {
                        slot: "action"
                    }, [a("a-button", {
                        attrs: {
                            size: "large",
                            type: "primary"
                        }
                    }, [t._v("查看邮箱")]), a("a-button", {
                        staticStyle: {
                            "margin-left": "8px"
                        },
                        attrs: {
                            size: "large"
                        },
                        on: {
                            click: t.goHomeHandle
                        }
                    }, [t._v("返回首页")])], 1)], 2)
                },
                r = [],
                i = a("9a3d"),
                o = {
                    name: "RegisterResult",
                    components: {
                        Result: i["default"]
                    },
                    data: function () {
                        return {
                            description: "激活邮件已发送到你的邮箱中，邮件有效期为24小时。请及时登录邮箱，点击邮件中的链接激活帐户。",
                            form: {}
                        }
                    }, computed: {
                        email: function () {
                            var t = this.form && this.form.email || "xxx",
                                e = "你的账户：".concat(t, " 注册成功");
                            return e
                        }
                    }, created: function () {
                        this.form = this.$route.params
                    }, methods: {
                        goHomeHandle: function () {
                            this.$router.push({
                                name: "login"
                            })
                        }
                    }
                },
                n = o,
                l = a("2877"),
                c = Object(l["a"])(n, s, r, !1, null, "9ae222f4", null);
            e["default"] = c.exports
        }, 1348: function (t, e, a) {
            "use strict";
            a.r(e);
            var s = function () {
                    var t = this,
                        e = this,
                        a = e.$createElement,
                        s = e._self._c || a;
                    return s("div", {
                        staticClass: "main user-layout-register"
                    }, [e._m(0), s("a-form", {
                        ref: "formRegister",
                        attrs: {
                            autoFormCreate: function (e) {
                                t.form = e
                            }, id: "formRegister"
                        }
                    }, [s("a-form-item", {
                        attrs: {
                            fieldDecoratorId: "email",
                            fieldDecoratorOptions: {
                                rules: [{
                                    required: !0,
                                    type: "email",
                                    message: "请输入邮箱地址"
                                }],
                                validateTrigger: ["change", "blur"]
                            }
                        }
                    }, [s("a-input", {
                        attrs: {
                            size: "large",
                            type: "text",
                            placeholder: "邮箱"
                        }
                    })], 1), s("a-popover", {
                        attrs: {
                            placement: "rightTop",
                            trigger: "click",
                            visible: e.state.passwordLevelChecked
                        }
                    }, [s("template", {
                        slot: "content"
                    }, [s("div", {
                        style: {
                            width: "240px"
                        }
                    }, [s("div", {
                        class: ["user-register", e.passwordLevelClass]
                    }, [e._v("强度："), s("span", [e._v(e._s(e.passwordLevelName))])]), s("a-progress", {
                        attrs: {
                            percent: e.state.percent,
                            showInfo: !1,
                            strokeColor: e.passwordLevelColor
                        }
                    }), s("div", {
                        staticStyle: {
                            "margin-top": "10px"
                        }
                    }, [s("span", [e._v("请至少输入 6 个字符。请不要使用容易被猜到的密码。")])])], 1)]), s("a-form-item", {
                        attrs: {
                            fieldDecoratorId: "password",
                            fieldDecoratorOptions: {
                                rules: [{
                                    required: !0,
                                    message: "至少6位密码，区分大小写"
                                }, {
                                    validator: this.handlePasswordLevel
                                }],
                                validateTrigger: ["change", "blur"]
                            }
                        }
                    }, [s("a-input", {
                        attrs: {
                            size: "large",
                            type: "password",
                            autocomplete: "false",
                            placeholder: "至少6位密码，区分大小写"
                        },
                        on: {
                            click: e.handlePasswordInputClick
                        }
                    })], 1)], 2), s("a-form-item", {
                        attrs: {
                            fieldDecoratorId: "password2",
                            fieldDecoratorOptions: {
                                rules: [{
                                    required: !0,
                                    message: "至少6位密码，区分大小写"
                                }, {
                                    validator: this.handlePasswordCheck
                                }],
                                validateTrigger: ["change", "blur"]
                            }
                        }
                    }, [s("a-input", {
                        attrs: {
                            size: "large",
                            type: "password",
                            autocomplete: "false",
                            placeholder: "确认密码"
                        }
                    })], 1), s("a-form-item", {
                        attrs: {
                            fieldDecoratorId: "mobile",
                            fieldDecoratorOptions: {
                                rules: [{
                                    required: !0,
                                    message: "请输入正确的手机号",
                                    pattern: /^1[3456789]\d{9}$/
                                }, {
                                    validator: this.handlePhoneCheck
                                }],
                                validateTrigger: ["change", "blur"]
                            }
                        }
                    }, [s("a-input", {
                        attrs: {
                            size: "large",
                            placeholder: "11 位手机号"
                        }
                    }, [s("a-select", {
                        attrs: {
                            slot: "addonBefore",
                            size: "large",
                            defaultValue: "+86"
                        },
                        slot: "addonBefore"
                    }, [s("a-select-option", {
                        attrs: {
                            value: "+86"
                        }
                    }, [e._v("+86")]), s("a-select-option", {
                        attrs: {
                            value: "+87"
                        }
                    }, [e._v("+87")])], 1)], 1)], 1), s("a-row", {
                        attrs: {
                            gutter: 16
                        }
                    }, [s("a-col", {
                        staticClass: "gutter-row",
                        attrs: {
                            span: 16
                        }
                    }, [s("a-form-item", {
                        attrs: {
                            fieldDecoratorId: "captcha",
                            fieldDecoratorOptions: {
                                rules: [{
                                    required: !0,
                                    message: "请输入验证码"
                                }],
                                validateTrigger: "blur"
                            }
                        }
                    }, [s("a-input", {
                        attrs: {
                            size: "large",
                            type: "text",
                            placeholder: "验证码"
                        }
                    }, [s("a-icon", {
                        style: {
                            color: "rgba(0,0,0,.25)"
                        },
                        attrs: {
                            slot: "prefix",
                            type: "mail"
                        },
                        slot: "prefix"
                    })], 1)], 1)], 1), s("a-col", {
                        staticClass: "gutter-row",
                        attrs: {
                            span: 8
                        }
                    }, [s("a-button", {
                        staticClass: "getCaptcha",
                        attrs: {
                            size: "large",
                            disabled: e.state.smsSendBtn
                        },
                        domProps: {
                            textContent: e._s(e.state.smsSendBtn ? e.state.time + " s" : "获取验证码")
                        },
                        on: {
                            click: function (t) {
                                return t.stopPropagation(), t.preventDefault(), e.getCaptcha(t)
                            }
                        }
                    })], 1)], 1), s("a-form-item", [s("a-button", {
                        staticClass: "register-button",
                        attrs: {
                            size: "large",
                            type: "primary",
                            htmlType: "submit",
                            loading: e.registerBtn,
                            disabled: e.registerBtn
                        },
                        on: {
                            click: function (t) {
                                return t.stopPropagation(), t.preventDefault(), e.handleSubmit(t)
                            }
                        }
                    }, [e._v("注册\n      ")]), s("router-link", {
                        staticClass: "login",
                        attrs: {
                            to: {
                                name: "login"
                            }
                        }
                    }, [e._v("使用已有账户登录")])], 1)], 1)], 1)
                },
                r = [
                    function () {
                        var t = this,
                            e = t.$createElement,
                            a = t._self._c || e;
                        return a("h3", [a("span", [t._v("注册")])])
                    }
                ],
                i = a("cebc"),
                o = a("ac0d"),
                n = a("7ded"),
                l = {
                    0: "低",
                    1: "低",
                    2: "中",
                    3: "强"
                },
                c = {
                    0: "error",
                    1: "error",
                    2: "warning",
                    3: "success"
                },
                d = {
                    0: "#ff0000",
                    1: "#ff0000",
                    2: "#ff7e05",
                    3: "#52c41a"
                },
                u = {
                    name: "Register",
                    components: {},
                    mixins: [o["b"]],
                    data: function () {
                        return {
                            form: null,
                            state: {
                                time: 60,
                                smsSendBtn: !1,
                                passwordLevel: 0,
                                passwordLevelChecked: !1,
                                percent: 10,
                                progressColor: "#FF0000"
                            },
                            registerBtn: !1
                        }
                    }, computed: {
                        passwordLevelClass: function () {
                            return c[this.state.passwordLevel]
                        }, passwordLevelName: function () {
                            return l[this.state.passwordLevel]
                        }, passwordLevelColor: function () {
                            return d[this.state.passwordLevel]
                        }
                    }, methods: {
                        handlePasswordLevel: function (t, e, a) {
                            var s = 0;
                            /[0-9]/.test(e) && s++, /[a-zA-Z]/.test(e) && s++, /[^0-9a-zA-Z_]/.test(e) && s++, this.state.passwordLevel = s, this.state.percent = 30 * s, s >= 2 ? (s >= 3 && (this.state.percent = 100), a()) : (0 === s && (this.state.percent = 10), a(new Error("密码强度不够")))
                        }, handlePasswordCheck: function (t, e, a) {
                            var s = this.form.getFieldValue("password");
                            console.log("value", e), void 0 === e && a(new Error("请输入密码")), e && s && e.trim() !== s.trim() && a(new Error("两次密码不一致")), a()
                        }, handlePhoneCheck: function (t, e, a) {
                            console.log("handlePhoneCheck, rule:", t), console.log("handlePhoneCheck, value", e), console.log("handlePhoneCheck, callback", a), a()
                        }, handlePasswordInputClick: function () {
                            this.isMobile() ? this.state.passwordLevelChecked = !1 : this.state.passwordLevelChecked = !0
                        }, handleSubmit: function () {
                            var t = this;
                            this.form.validateFields(function (e, a) {
                                e || t.$router.push({
                                    name: "registerResult",
                                    params: Object(i["a"])({}, a)
                                })
                            })
                        }, getCaptcha: function (t) {
                            var e = this;
                            t.preventDefault();
                            var a = this;
                            this.form.validateFields(["mobile"], {
                                force: !0
                            }, function (t, s) {
                                if (!t) {
                                    e.state.smsSendBtn = !0;
                                    var r = window.setInterval(function () {
                                            a.state.time-- <= 0 && (a.state.time = 60, a.state.smsSendBtn = !1, window.clearInterval(r))
                                        }, 1e3),
                                        i = e.$message.loading("验证码发送中..", 0);
                                    Object(n["a"])({
                                        mobile: s.mobile
                                    }).then(function (t) {
                                        setTimeout(i, 2500), e.$notification["success"]({
                                            message: "提示",
                                            description: "验证码获取成功，您的验证码为：" + t.result.captcha,
                                            duration: 8
                                        })
                                    }).catch(function (t) {
                                        setTimeout(i, 1), clearInterval(r), a.state.time = 60, a.state.smsSendBtn = !1, e.requestFailed(t)
                                    })
                                }
                            })
                        }, requestFailed: function (t) {
                            this.$notification["error"]({
                                message: "错误",
                                description: ((t.response || {}).data || {}).message || "请求出现错误，请稍后再试",
                                duration: 4
                            }), this.registerBtn = !1
                        }
                    }, watch: {
                        "state.passwordLevel": function (t) {
                            console.log(t)
                        }
                    }
                },
                p = u,
                m = (a("3c35e"), a("2b56"), a("2877")),
                h = Object(m["a"])(p, s, r, !1, null, "35079d90", null);
            e["default"] = h.exports
        }, "2b56": function (t, e, a) {
            "use strict";
            var s = a("0159"),
                r = a.n(s);
            r.a
        }, "2ca2": function (t, e, a) {
            "use strict";
            a.r(e);
            var s = function () {
                    var t = this,
                        e = this,
                        a = e.$createElement,
                        s = e._self._c || a;
                    return s("a-modal", {
                        attrs: {
                            centered: "",
                            maskClosable: !1
                        },
                        on: {
                            cancel: e.handleCancel
                        },
                        model: {
                            value: e.visible,
                            callback: function (t) {
                                e.visible = t
                            }, expression: "visible"
                        }
                    }, [s("div", {
                        style: {
                            textAlign: "center"
                        },
                        attrs: {
                            slot: "title"
                        },
                        slot: "title"
                    }, [e._v("两步验证")]), s("template", {
                        slot: "footer"
                    }, [s("div", {
                        style: {
                            textAlign: "center"
                        }
                    }, [s("a-button", {
                        key: "back",
                        on: {
                            click: e.handleCancel
                        }
                    }, [e._v("返回")]), s("a-button", {
                        key: "submit",
                        attrs: {
                            type: "primary",
                            loading: e.stepLoading
                        },
                        on: {
                            click: e.handleStepOk
                        }
                    }, [e._v("\n        继续\n      ")])], 1)]), s("a-spin", {
                        attrs: {
                            spinning: e.stepLoading
                        }
                    }, [s("a-form", {
                        attrs: {
                            layout: "vertical",
                            "auto-form-create": function (e) {
                                t.form = e
                            }
                        }
                    }, [s("div", {
                        staticClass: "step-form-wrapper"
                    }, [e.stepLoading ? s("p", {
                        staticStyle: {
                            "text-align": "center"
                        }
                    }, [e._v("正在验证.."), s("br"), e._v("请稍后")]) : s("p", {
                        staticStyle: {
                            "text-align": "center"
                        }
                    }, [e._v("请在手机中打开 Google Authenticator 或两步验证 APP"), s("br"), e._v("输入 6 位动态码")]), s("a-form-item", {
                        style: {
                            textAlign: "center"
                        },
                        attrs: {
                            hasFeedback: "",
                            fieldDecoratorId: "stepCode",
                            fieldDecoratorOptions: {
                                rules: [{
                                    required: !0,
                                    message: "请输入 6 位动态码!",
                                    pattern: /^\d{6}$/,
                                    len: 6
                                }]
                            }
                        }
                    }, [s("a-input", {
                        style: {
                            textAlign: "center"
                        },
                        attrs: {
                            placeholder: "000000"
                        },
                        nativeOn: {
                            keyup: function (t) {
                                return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.handleStepOk(t)
                            }
                        }
                    })], 1), s("p", {
                        staticStyle: {
                            "text-align": "center"
                        }
                    }, [s("a", {
                        on: {
                            click: e.onForgeStepCode
                        }
                    }, [e._v("遗失手机?")])])], 1)])], 1)], 2)
                },
                r = [],
                i = {
                    props: {
                        visible: {
                            type: Boolean,
                            default: !1
                        }
                    },
                    data: function () {
                        return {
                            stepLoading: !1,
                            form: null
                        }
                    }, methods: {
                        handleStepOk: function () {
                            var t = this,
                                e = this;
                            this.stepLoading = !0, this.form.validateFields(function (a, s) {
                                if (!a) return console.log("values", s), void setTimeout(function () {
                                    e.stepLoading = !1, e.$emit("success", {
                                        values: s
                                    })
                                }, 2e3);
                                t.stepLoading = !1, t.$emit("error", {
                                    err: a
                                })
                            })
                        }, handleCancel: function () {
                            this.visible = !1, this.$emit("cancel")
                        }, onForgeStepCode: function () {}
                    }
                },
                o = i,
                n = (a("08db"), a("2877")),
                l = Object(n["a"])(o, s, r, !1, null, "de78a346", null);
            e["default"] = l.exports
        }, "36bd": function (t, e, a) {
            "use strict";
            var s = a("4bf8"),
                r = a("77f1"),
                i = a("9def");
            t.exports = function (t) {
                var e = s(this),
                    a = i(e.length),
                    o = arguments.length,
                    n = r(o > 1 ? arguments[1] : void 0, a),
                    l = o > 2 ? arguments[2] : void 0,
                    c = void 0 === l ? a : r(l, a);
                while (c > n) e[n++] = t;
                return e
            }
        }, "3c35e": function (t, e, a) {
            "use strict";
            var s = a("afa7"),
                r = a.n(s);
            r.a
        }, 4201: function (t, e, a) {
            "use strict";
            a.r(e);
            var s = function () {
                    var t = this,
                        e = t.$createElement,
                        a = t._self._c || e;
                    return a("div", {
                        staticClass: "gc-canvas",
                        on: {
                            click: t.reloadPic
                        }
                    }, [a("canvas", {
                        attrs: {
                            id: "gc-canvas",
                            width: t.contentWidth,
                            height: t.contentHeight
                        }
                    })])
                },
                r = [],
                i = (a("6c7b"), a("c5f6"), {
                    name: "JGraphicCode",
                    props: {
                        length: {
                            type: Number,
                            default: 4
                        },
                        fontSizeMin: {
                            type: Number,
                            default: 20
                        },
                        fontSizeMax: {
                            type: Number,
                            default: 45
                        },
                        backgroundColorMin: {
                            type: Number,
                            default: 180
                        },
                        backgroundColorMax: {
                            type: Number,
                            default: 240
                        },
                        colorMin: {
                            type: Number,
                            default: 50
                        },
                        colorMax: {
                            type: Number,
                            default: 160
                        },
                        lineColorMin: {
                            type: Number,
                            default: 40
                        },
                        lineColorMax: {
                            type: Number,
                            default: 180
                        },
                        dotColorMin: {
                            type: Number,
                            default: 0
                        },
                        dotColorMax: {
                            type: Number,
                            default: 255
                        },
                        contentWidth: {
                            type: Number,
                            default: 136
                        },
                        contentHeight: {
                            type: Number,
                            default: 38
                        }
                    },
                    methods: {
                        randomNum: function (t, e) {
                            return Math.floor(Math.random() * (e - t) + t)
                        }, randomColor: function (t, e) {
                            var a = this.randomNum(t, e),
                                s = this.randomNum(t, e),
                                r = this.randomNum(t, e);
                            return "rgb(" + a + "," + s + "," + r + ")"
                        }, drawPic: function () {
                            this.randomCode();
                            var t = document.getElementById("gc-canvas"),
                                e = t.getContext("2d");
                            e.textBaseline = "bottom", e.fillStyle = this.randomColor(this.backgroundColorMin, this.backgroundColorMax), e.fillRect(0, 0, this.contentWidth, this.contentHeight);
                            for (var a = 0; a < this.code.length; a++) this.drawText(e, this.code[a], a);
                            this.drawLine(e), this.drawDot(e), this.$emit("success", this.code)
                        }, drawText: function (t, e, a) {
                            t.fillStyle = this.randomColor(this.colorMin, this.colorMax);
                            var s = this.randomNum(this.fontSizeMin, this.fontSizeMax);
                            t.font = s + "px SimHei";
                            var r = 10,
                                i = (this.contentWidth - 40) / (this.code.length - 1),
                                o = r;
                            a > 0 && (o = r + a * i);
                            var n = this.randomNum(this.fontSizeMax, this.contentHeight - 5);
                            s > 40 && (n = 40);
                            var l = this.randomNum(-10, 10);
                            t.translate(o, n), t.rotate(l * Math.PI / 180), t.fillText(e, 0, 0), t.rotate(-l * Math.PI / 180), t.translate(-o, -n)
                        }, drawLine: function (t) {
                            for (var e = 0; e < 1; e++) t.strokeStyle = this.randomColor(this.lineColorMin, this.lineColorMax), t.beginPath(), t.moveTo(this.randomNum(0, this.contentWidth), this.randomNum(0, this.contentHeight)), t.lineTo(this.randomNum(0, this.contentWidth), this.randomNum(0, this.contentHeight)), t.stroke()
                        }, drawDot: function (t) {
                            for (var e = 0; e < 100; e++) t.fillStyle = this.randomColor(0, 255), t.beginPath(), t.arc(this.randomNum(0, this.contentWidth), this.randomNum(0, this.contentHeight), 1, 0, 2 * Math.PI), t.fill()
                        }, reloadPic: function () {
                            this.drawPic()
                        }, randomCode: function () {
                            for (var t = "", e = "QWERTYUPLKJHGFDSAZXCVBNMqwertyupkjhgfdsazxcvbnm1234567890", a = 0; a < this.length; a++) {
                                var s = Math.floor(57 * Math.random());
                                t += e[s]
                            }
                            this.code = t
                        }
                    },
                    mounted: function () {
                        this.drawPic()
                    }, data: function () {
                        return {
                            code: ""
                        }
                    }
                }),
                o = i,
                n = a("2877"),
                l = Object(n["a"])(o, s, r, !1, null, "3a5b7089", null);
            e["default"] = l.exports
        }, 5983: function (t, e, a) {
            "use strict";
            var s = a("88bd"),
                r = a.n(s);
            r.a
        }, "5a1c": function (t, e, a) {
            "use strict";
            var s = a("633b"),
                r = a.n(s);
            r.a
        }, "633b": function (t, e, a) {}, "6c7b": function (t, e, a) {
            var s = a("5ca1");
            s(s.P, "Array", {
                fill: a("36bd")
            }), a("9c6c")("fill")
        }, "88bd": function (t, e, a) {}, "9a3d": function (t, e, a) {
            "use strict";
            a.r(e);
            var s = function () {
                    var t = this,
                        e = t.$createElement,
                        a = t._self._c || e;
                    return a("div", {
                        staticClass: "result"
                    }, [a("div", [a("a-icon", {
                        class: [t.isSuccess ? "success" : "error", "icon"],
                        attrs: {
                            type: t.isSuccess ? "check-circle" : "close-circle"
                        }
                    })], 1), t.title ? a("div", {
                        staticClass: "title"
                    }, [t._v(t._s(t.title))]) : t._e(), t.description ? a("div", {
                        staticClass: "description"
                    }, [t._v(t._s(t.description))]) : t._e(), t.content ? a("div", {
                        staticClass: "content"
                    }, [t._t("default")], 2) : t._e(), a("div", {
                        staticClass: "action"
                    }, [t._t("action")], 2)])
                },
                r = [],
                i = {
                    name: "Result",
                    props: {
                        isSuccess: {
                            type: Boolean,
                            default: !1
                        },
                        title: {
                            type: String,
                            default: ""
                        },
                        description: {
                            type: String,
                            default: ""
                        },
                        content: {
                            type: Boolean,
                            default: !0
                        }
                    }
                },
                o = i,
                n = (a("5983"), a("2877")),
                l = Object(n["a"])(o, s, r, !1, null, "2a1e0cfb", null);
            e["default"] = l.exports
        }, a317: function (t, e, a) {}, aa95: function (t, e, a) {
            "use strict";
            var s = a("a317"),
                r = a.n(s);
            r.a
        }, ac2a: function (t, e, a) {
            "use strict";
            a.r(e);
            var s = function () {
                    var t = this,
                        e = t.$createElement,
                        a = t._self._c || e;
                    return a("div", {
                        staticClass: "main"
                    }, [a("a-form", {
                        ref: "formLogin",
                        staticClass: "user-layout-login",
                        attrs: {
                            form: t.form,
                            id: "formLogin"
                        }
                    }, [a("a-tabs", {
                        attrs: {
                            activeKey: t.customActiveKey,
                            tabBarStyle: {
                                textAlign: "center",
                                borderBottom: "unset"
                            }
                        },
                        on: {
                            change: t.handleTabClick
                        }
                    }, [a("a-tab-pane", {
                        key: "tab1",
                        attrs: {
                            tab: "账号密码登陆"
                        }
                    }, [a("a-form-item", [a("a-input", {
                        directives: [{
                            name: "decorator",
                            rawName: "v-decorator",
                            value: ["username", t.validatorRules.username, {
                                validator: this.handleUsernameOrEmail
                            }],
                            expression: "['username',validatorRules.username,{ validator: this.handleUsernameOrEmail }]"
                        }],
                        attrs: {
                            size: "large",
                            type: "text",
                            placeholder: "请输入帐户名 / admin"
                        }
                    }, [a("a-icon", {
                        style: {
                            color: "rgba(0,0,0,.25)"
                        },
                        attrs: {
                            slot: "prefix",
                            type: "user"
                        },
                        slot: "prefix"
                    })], 1)], 1), a("a-form-item", [a("a-input", {
                        directives: [{
                            name: "decorator",
                            rawName: "v-decorator",
                            value: ["password", t.validatorRules.password],
                            expression: "['password',validatorRules.password]"
                        }],
                        attrs: {
                            size: "large",
                            type: "password",
                            autocomplete: "false",
                            placeholder: "密码 / 123456"
                        }
                    }, [a("a-icon", {
                        style: {
                            color: "rgba(0,0,0,.25)"
                        },
                        attrs: {
                            slot: "prefix",
                            type: "lock"
                        },
                        slot: "prefix"
                    })], 1)], 1), a("a-row", {
                        attrs: {
                            gutter: 0
                        }
                    }, [a("a-col", {
                        attrs: {
                            span: 14
                        }
                    }, [a("a-form-item", [a("a-input", {
                        directives: [{
                            name: "decorator",
                            rawName: "v-decorator",
                            value: ["inputCode", t.validatorRules.inputCode],
                            expression: "['inputCode',validatorRules.inputCode]"
                        }],
                        attrs: {
                            size: "large",
                            type: "text",
                            placeholder: "请输入验证码"
                        },
                        on: {
                            change: t.inputCodeChange
                        }
                    }, [t.inputCodeContent == t.verifiedCode ? a("a-icon", {
                        style: {
                            color: "rgba(0,0,0,.25)"
                        },
                        attrs: {
                            slot: "prefix",
                            type: "smile"
                        },
                        slot: "prefix"
                    }) : a("a-icon", {
                        style: {
                            color: "rgba(0,0,0,.25)"
                        },
                        attrs: {
                            slot: "prefix",
                            type: "frown"
                        },
                        slot: "prefix"
                    })], 1)], 1)], 1), a("a-col", {
                        attrs: {
                            span: 10
                        }
                    }, [a("j-graphic-code", {
                        staticStyle: {
                            float: "right"
                        },
                        on: {
                            success: t.generateCode
                        }
                    })], 1)], 1)], 1)], 1), a("a-form-item", [a("a-checkbox", {
                        model: {
                            value: t.formLogin.rememberMe,
                            callback: function (e) {
                                t.$set(t.formLogin, "rememberMe", e)
                            }, expression: "formLogin.rememberMe"
                        }
                    }, [t._v("自动登陆")]), a("router-link", {
                        staticClass: "forge-password",
                        staticStyle: {
                            float: "right"
                        },
                        attrs: {
                            to: {
                                name: "recover",
                                params: {
                                    user: "aaa"
                                }
                            }
                        }
                    }, [t._v("\n        忘记密码\n      ")])], 1), a("a-form-item", {
                        staticStyle: {
                            "margin-top": "24px"
                        }
                    }, [a("a-button", {
                        staticClass: "login-button",
                        attrs: {
                            size: "large",
                            type: "primary",
                            htmlType: "submit",
                            loading: t.loginBtn,
                            disabled: t.loginBtn
                        },
                        on: {
                            click: function (e) {
                                return e.stopPropagation(), e.preventDefault(), t.handleSubmit(e)
                            }
                        }
                    }, [t._v("确定\n      ")])], 1)], 1), t.requiredTwoStepCaptcha ? a("two-step-captcha", {
                        attrs: {
                            visible: t.stepCaptchaVisible
                        },
                        on: {
                            success: t.stepCaptchaSuccess,
                            cancel: t.stepCaptchaCancel
                        }
                    }) : t._e(), a("a-modal", {
                        attrs: {
                            title: "登录部门选择",
                            width: 450,
                            visible: t.departVisible,
                            closable: !1,
                            maskClosable: !1
                        }
                    }, [a("template", {
                        slot: "footer"
                    }, [a("a-button", {
                        attrs: {
                            type: "primary"
                        },
                        on: {
                            click: t.departOk
                        }
                    }, [t._v("确认")])], 1), a("a-form", [a("a-form-item", {
                        staticStyle: {
                            "margin-bottom": "10px"
                        },
                        attrs: {
                            labelCol: {
                                span: 4
                            },
                            wrapperCol: {
                                span: 20
                            },
                            "validate-status": t.validate_status
                        }
                    }, [a("a-tooltip", {
                        attrs: {
                            placement: "topLeft"
                        }
                    }, [a("template", {
                        slot: "title"
                    }, [a("span", [t._v("您隶属于多部门，请选择登录部门")])]), a("a-avatar", {
                        staticStyle: {
                            backgroundColor: "#87d068"
                        },
                        attrs: {
                            icon: "gold"
                        }
                    })], 2), a("a-select", {
                        class: {
                            "valid-error": "error" == t.validate_status
                        },
                        staticStyle: {
                            "margin-left": "10px",
                            width: "80%"
                        },
                        attrs: {
                            placeholder: "请选择登录部门"
                        },
                        on: {
                            change: t.departChange
                        }
                    }, [a("a-icon", {
                        attrs: {
                            slot: "suffixIcon",
                            type: "gold"
                        },
                        slot: "suffixIcon"
                    }), t._l(t.departList, function (e) {
                        return a("a-select-option", {
                            key: e.id,
                            attrs: {
                                value: e.orgCode
                            }
                        }, [t._v("\n            " + t._s(e.departName) + "\n          ")])
                    })], 2)], 1)], 1)], 2)], 1)
                },
                r = [],
                i = (a("3b2b"), a("5176")),
                o = a.n(i),
                n = a("cebc"),
                l = a("365c"),
                c = a("2ca2"),
                d = a("2f62"),
                u = a("ca00"),
                p = a("2b0e"),
                m = a("9fb0"),
                h = a("4201"),
                f = a("0fea"),
                v = {
                    components: {
                        TwoStepCaptcha: c["default"],
                        JGraphicCode: h["default"]
                    },
                    data: function () {
                        return {
                            customActiveKey: "tab1",
                            loginBtn: !1,
                            loginType: 0,
                            requiredTwoStepCaptcha: !1,
                            stepCaptchaVisible: !1,
                            form: this.$form.createForm(this),
                            state: {
                                time: 60,
                                smsSendBtn: !1
                            },
                            formLogin: {
                                username: "",
                                password: "",
                                captcha: "",
                                mobile: "",
                                rememberMe: !0
                            },
                            validatorRules: {
                                username: {
                                    rules: [{
                                        required: !0,
                                        message: "请输入用户名!",
                                        validator: "click"
                                    }]
                                },
                                password: {
                                    rules: [{
                                        required: !0,
                                        message: "请输入密码!",
                                        validator: "click"
                                    }]
                                },
                                mobile: {
                                    rules: [{
                                        validator: this.validateMobile
                                    }]
                                },
                                captcha: {
                                    rule: [{
                                        required: !0,
                                        message: "请输入验证码!"
                                    }]
                                },
                                inputCode: {
                                    rules: [{
                                        required: !0,
                                        message: "请输入验证码!"
                                    }, {
                                        validator: this.validateInputCode
                                    }]
                                }
                            },
                            verifiedCode: "",
                            inputCodeContent: "",
                            inputCodeNull: !0,
                            departList: [],
                            departVisible: !1,
                            departSelected: "",
                            currentUsername: "",
                            validate_status: ""
                        }
                    }, created: function () {
                        p["a"].ls.remove(m["a"])
                    }, methods: Object(n["a"])({}, Object(d["b"])(["Login", "Logout"]), {
                        handleUsernameOrEmail: function (t, e, a) {
                            var s = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;
                            s.test(e) ? this.loginType = 0 : this.loginType = 1, a()
                        }, handleTabClick: function (t) {
                            this.customActiveKey = t
                        }, handleSubmit: function () {
                            var t = this,
                                e = this,
                                a = {
                                    remember_me: e.formLogin.rememberMe
                                };
                            "tab1" === e.customActiveKey ? e.form.validateFields(["username", "password", "inputCode"], {
                                force: !0
                            }, function (s, r) {
                                s || (a.username = r.username, a.password = r.password, e.Login(a).then(function (e) {
                                    t.departConfirm(e)
                                }).catch(function (t) {
                                    e.requestFailed(t)
                                }))
                            }) : e.form.validateFields(["mobile", "captcha"], {
                                force: !0
                            }, function (t, s) {
                                t || (a = o()(a, s), e.loginBtn = !0, e.Login(a).then(function () {
                                    e.requiredTwoStepCaptcha ? e.stepCaptchaVisible = !0 : e.loginSuccess()
                                }).catch(function (t) {
                                    e.requestFailed(t)
                                }))
                            })
                        }, getCaptcha: function (t) {
                            var e = this;
                            t.preventDefault();
                            var a = this;
                            this.form.validateFields(["mobile"], {
                                force: !0
                            }, function (t) {
                                if (!t) {
                                    e.state.smsSendBtn = !0;
                                    var s = window.setInterval(function () {
                                            a.state.time-- <= 0 && (a.state.time = 60, a.state.smsSendBtn = !1, window.clearInterval(s))
                                        }, 1e3),
                                        r = e.$message.loading("验证码发送中..", 0);
                                    e.$http.post(l["a"].SendSms, {
                                        mobile: a.formLogin.mobile
                                    }).then(function (t) {
                                        setTimeout(r, 2500), e.$notification["success"]({
                                            message: "提示",
                                            description: "验证码获取成功，您的验证码为：" + t.result.captcha,
                                            duration: 8
                                        })
                                    }).catch(function (t) {
                                        setTimeout(r, 1), clearInterval(s), a.state.time = 60, a.state.smsSendBtn = !1, e.requestFailed(t)
                                    })
                                }
                            })
                        }, stepCaptchaSuccess: function () {
                            this.loginSuccess()
                        }, stepCaptchaCancel: function () {
                            var t = this;
                            this.Logout().then(function () {
                                t.loginBtn = !1, t.stepCaptchaVisible = !1
                            })
                        }, loginSuccess: function () {
                            this.loginBtn = !1, this.$router.push({
                                name: "dashboard"
                            }), this.$notification.success({
                                message: "欢迎",
                                description: "".concat(Object(u["g"])(), "，欢迎回来")
                            })
                        }, requestFailed: function (t) {
                            this.$notification["error"]({
                                message: "登录失败",
                                description: ((t.response || {}).data || {}).message || t.message || "请求出现错误，请稍后再试",
                                duration: 4
                            }), this.loginBtn = !1
                        }, validateMobile: function (t, e, a) {
                            !e || new RegExp(/^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$/).test(e) ? a() : a("您的手机号码格式不正确!")
                        }, validateInputCode: function (t, e, a) {
                            e && this.verifiedCode != this.inputCodeContent ? a("您输入的验证码不正确!") : a()
                        }, generateCode: function (t) {
                            this.verifiedCode = t.toLowerCase()
                        }, inputCodeChange: function (t) {
                            this.inputCodeContent = t.target.value, t.target.value && 0 != t.target.value ? (this.inputCodeContent = this.inputCodeContent.toLowerCase(), this.inputCodeNull = !1) : this.inputCodeNull = !0
                        }, departConfirm: function (t) {
                            if (t.success) {
                                var e = t.result.multi_depart;
                                0 == e ? (this.loginSuccess(), this.$notification.warn({
                                    message: "提示",
                                    description: "您尚未归属部门,请确认账号信息",
                                    duration: 3
                                })) : 2 == e ? (this.departVisible = !0, this.currentUsername = this.form.getFieldValue("username"), this.departList = t.result.departs) : this.loginSuccess()
                            } else this.requestFailed(t), this.Logout()
                        }, departOk: function () {
                            var t = this;
                            if (!this.departSelected) return this.validate_status = "error", !1;
                            var e = {
                                orgCode: this.departSelected,
                                username: this.form.getFieldValue("username")
                            };
                            Object(f["i"])("/sys/selectDepart", e).then(function (e) {
                                e.success ? (t.departClear(), t.loginSuccess()) : (t.requestFailed(e), t.Logout().then(function () {
                                    t.departClear()
                                }))
                            })
                        }, departClear: function () {
                            this.departList = [], this.departSelected = "", this.currentUsername = "", this.departVisible = !1, this.validate_status = ""
                        }, departChange: function (t) {
                            this.validate_status = "success", this.departSelected = t
                        }
                    })
                },
                g = v,
                b = (a("5a1c"), a("aa95"), a("2877")),
                C = Object(b["a"])(g, s, r, !1, null, "080dd908", null);
            e["default"] = C.exports
        }, afa7: function (t, e, a) {}, dd8e: function (t, e, a) {}
    }
]);